home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / procssng / ccs / ccs-11tl.lha / lbl / xview / guidexv / group.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-22  |  3.4 KB  |  114 lines

  1. /*
  2.  * @(#)group.h    2.13 91/10/15 Copyright 1991 Sun Microsystems
  3.  *
  4.  * This file is a product of Sun Microsystems, Inc. and is provided for
  5.  * unrestricted use provided that this legend is included on all tape
  6.  * media and as a part of the software program in whole or part.  Users
  7.  * may copy or modify this file without charge, but are not authorized to
  8.  * license or distribute it to anyone else except as part of a product
  9.  * or program developed by the user.
  10.  *
  11.  * THIS FILE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  12.  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  13.  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  14.  *
  15.  * This file is provided with no support and without any obligation on the
  16.  * part of Sun Microsystems, Inc. to assist in its use, correction,
  17.  * modification or enhancement.
  18.  *
  19.  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  20.  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS FILE
  21.  * OR ANY PART THEREOF.
  22.  *
  23.  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
  24.  * or profits or other special, indirect and consequential damages, even
  25.  * if Sun has been advised of the possibility of such damages.
  26.  *
  27.  * Sun Microsystems, Inc.
  28.  * 2550 Garcia Avenue
  29.  * Mountain View, California  94043
  30.  */
  31.  
  32. #ifndef guide_group_DEFINED
  33.  
  34. #include    <xview/xview.h>
  35. #include    <xview/panel.h>
  36.  
  37. extern Xv_pkg    group_pkg;
  38.  
  39. #define    GROUP    &group_pkg
  40.  
  41. typedef Xv_opaque    Group;
  42.  
  43. #define    ATTR_PKG_GROUP            ATTR_PKG_UNUSED_LAST - 2
  44. #define    GROUP_ATTR(type, ordinal)    ATTR(ATTR_PKG_GROUP, type, ordinal)
  45.  
  46. /*
  47.  * Public attributes
  48.  */
  49. typedef enum {
  50.     GROUP_TYPE        = GROUP_ATTR(ATTR_ENUM,     1),    /* CSG */
  51.     GROUP_ROWS        = GROUP_ATTR(ATTR_INT,      2),    /* CSG */
  52.     GROUP_COLUMNS        = GROUP_ATTR(ATTR_INT,      3),    /* CSG */
  53.     GROUP_HORIZONTAL_SPACING = GROUP_ATTR(ATTR_INT,     4),    /* CSG */
  54.     GROUP_VERTICAL_SPACING    = GROUP_ATTR(ATTR_INT,      5),    /* CSG */
  55.     GROUP_ROW_ALIGNMENT    = GROUP_ATTR(ATTR_ENUM,     6),    /* CSG */
  56.     GROUP_COLUMN_ALIGNMENT    = GROUP_ATTR(ATTR_ENUM,     7),    /* CSG */
  57.     GROUP_MEMBERS        =                /* CSG */
  58.         GROUP_ATTR(ATTR_LIST_INLINE(ATTR_NULL, ATTR_OPAQUE), 8),
  59.     GROUP_MEMBERS_PTR    = GROUP_ATTR(ATTR_OPAQUE,   9),    /* CSG */
  60.     GROUP_ANCHOR_OBJ    = GROUP_ATTR(ATTR_OPAQUE,  10),    /* CSG */
  61.     GROUP_ANCHOR_POINT    = GROUP_ATTR(ATTR_ENUM,    11),    /* CSG */
  62.     GROUP_REFERENCE_POINT    = GROUP_ATTR(ATTR_ENUM,    12),    /* CSG */
  63.     GROUP_HORIZONTAL_OFFSET    = GROUP_ATTR(ATTR_INT,     13),    /* CSG */
  64.     GROUP_VERTICAL_OFFSET    = GROUP_ATTR(ATTR_INT,     14),    /* CSG */
  65.     GROUP_PARENT        = GROUP_ATTR(ATTR_OPAQUE,  15),    /* --G */
  66.     GROUP_LAYOUT        = GROUP_ATTR(ATTR_BOOLEAN, 16),    /* CSG */
  67.     GROUP_REPLACE_MEMBER    = GROUP_ATTR(ATTR_OPAQUE_PAIR, 17), /* -S- */
  68. } Group_attr;
  69.  
  70. typedef enum {
  71.     GROUP_NONE,
  72.     GROUP_ROW,
  73.     GROUP_COLUMN,
  74.     GROUP_ROWCOLUMN
  75. } GROUP_TYPES;
  76.  
  77. typedef enum {
  78.     GROUP_LEFT_EDGES,
  79.     GROUP_LABELS,
  80.     GROUP_VERTICAL_CENTERS,
  81.     GROUP_RIGHT_EDGES
  82. } GROUP_COLUMN_ALIGNMENTS;
  83.  
  84. typedef enum {
  85.     GROUP_TOP_EDGES,
  86.     GROUP_HORIZONTAL_CENTERS,
  87.     GROUP_BOTTOM_EDGES
  88. } GROUP_ROW_ALIGNMENTS;
  89.  
  90. typedef enum {
  91.     GROUP_NORTHWEST,
  92.     GROUP_NORTH,
  93.     GROUP_NORTHEAST,
  94.     GROUP_WEST,
  95.     GROUP_CENTER,
  96.     GROUP_EAST,
  97.     GROUP_SOUTHWEST,
  98.     GROUP_SOUTH,
  99.     GROUP_SOUTHEAST,
  100. } GROUP_COMPASS_POINTS;
  101.  
  102. typedef struct {
  103.     Xv_generic_struct    parent_data;
  104.     Xv_opaque        private_data;
  105. } Group_public;
  106.  
  107. /*
  108.  * Public functions
  109.  */
  110. EXTERN_FUNCTION( void    group_layout,    (Group) );
  111. EXTERN_FUNCTION( void    group_anchor,    (Group) );
  112.  
  113. #endif guide_group_DEFINED
  114.